<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script src="/js/vue.js"></script>
    <div id ="app">
       <p>{{msg}}</p>
    </div>
    
    <script>
    let app =new Vue({
        el:"#app",
        data: {
        firstName: 'Foo',
        lastName: 'Bar'
    },
    watch: {
        firstName: function (val) {
            this.fullName = val + '' + this.lastName;
        },
        lastName: function (val) {
            this.fullName = this.firstName + '' + val;
        }
    },
    computed: {
        fullName: {
            get: function () {
                return this.firstName + '' + this.lastName;
            },
            set: function (newValue) {
                var names = newValue.split('');
                this.firstName = names[0];
                this.lastName = names[names.length - 1];
            }
        }
    }
})
    </script>  
</body>
</html>